import {axios} from '@/utils/request'

/**
 * 薪资计算相关API
 */

const api = {
  salaryCalculationList: '/mes/salaryCalculation/list',
  calculateTaskSalary: '/mes/salaryCalculation/calculateTaskSalary',
  calculateBatchTaskSalary: '/mes/salaryCalculation/calculateBatchTaskSalary',
  calculateDailySalary: '/mes/salaryCalculation/calculateDailySalary',
  calculateMonthlySalary: '/mes/salaryCalculation/calculateMonthlySalary',
  getSalaryRecords: '/mes/salaryCalculation/getSalaryRecords',
  getSalaryRecordsByTask: '/mes/salaryCalculation/getSalaryRecordsByTask'
}

/**
 * 获取薪资计算记录列表
 * @param parameter
 * @returns {*}
 */
export function getSalaryRecordsList(parameter) {
  return axios({
    url: api.salaryCalculationList,
    method: 'get',
    params: parameter
  })
}

/**
 * 计算单个任务参与者薪资
 * @param parameter
 * @returns {*}
 */
export function calculateTaskSalary(parameter) {
  return axios({
    url: api.calculateTaskSalary,
    method: 'post',
    params: parameter
  })
}

/**
 * 批量计算任务薪资
 * @param parameter
 * @returns {*}
 */
export function calculateBatchTaskSalary(parameter) {
  return axios({
    url: api.calculateBatchTaskSalary,
    method: 'post',
    params: parameter
  })
}

/**
 * 计算员工日薪资
 * @param parameter
 * @returns {*}
 */
export function calculateDailySalary(parameter) {
  return axios({
    url: api.calculateDailySalary,
    method: 'get',
    params: parameter
  })
}

/**
 * 计算员工月薪资
 * @param parameter
 * @returns {*}
 */
export function calculateMonthlySalary(parameter) {
  return axios({
    url: api.calculateMonthlySalary,
    method: 'get',
    params: parameter
  })
}

/**
 * 根据员工ID和日期范围查询薪资记录
 * @param parameter
 * @returns {*}
 */
export function getSalaryRecords(parameter) {
  return axios({
    url: api.getSalaryRecords,
    method: 'get',
    params: parameter
  })
}

/**
 * 根据任务ID查询薪资记录
 * @param parameter
 * @returns {*}
 */
export function getSalaryRecordsByTask(parameter) {
  return axios({
    url: api.getSalaryRecordsByTask,
    method: 'get',
    params: parameter
  })
}
